Evaluating Runtime - Compiled Value - Speci c Optimizations 1 Evaluating Runtime - Compiled Value - Speci c Optimizations
نویسندگان
چکیده
Traditional compiler optimizations are either dataindependent or optimize around common data values while retaining correct behavior for uncommon values. This paper examines value-speci c data-dependent optimizations (VSO), where code is optimized at runtime around particular input values. Because VSO optimizes for the speci c case, the resulting code is more e cient. However, since optimization is performed at runtime, the performance improvement must more than pay for the runtime compile costs. We describe two VSO implementation techniques and compare the performance of applications that have been implemented using both VSO and static code. The results demonstrate that VSO produces better code and often for reasonable input sizes. The machine-independent implementations showed speedups of up to 1.5 over static C code, and the machine-dependent versions showed speedups of up to 4.3 over static assembly code.
منابع مشابه
Runtime System Support for Parallel Iterative PDE Computations
In this paper we describe optimizations for parallel iterative solvers of partial di erential equations The heart of such a solver is a matrix vector multiply routine This routine performs computation on both local and non local data In this paper we present optimizations which reduce the overall execution time of the computations on non local data In particular we discuss optimizations that re...
متن کاملA SUIF Java Compiler
To compete with optimized C, object-oriented languages need classical optimizations as well as speci c object-oriented optimizations. Therefore, a compiler infrastructure that enables object-oriented compiler research is of great interest for the research community. The SUIF compiler system with the OSUIF extension o ers such a research environment. SUIF de nes an intermediate representation fo...
متن کاملCompiling for Runtime Code Generation
Cyclone is a programming language that provides explicit support for dynamic specialization based on runtime code generation. To generate specialized code quickly, our Cyclone compiler uses a template based strategy in which pre-compiled code fragments are stitched together at runtime. To achieve good performance, the pre-compiled fragments must be optimized. This paper describes a principled a...
متن کاملRuntime Support to Parallelize Adaptive Irregular Programs
This paper describes how a runtime support library can be used as compiler runtime support in irregular applications. The CHAOS runtime support library carries out optimizations designed to reduce communication costs by performing software caching, communication coalescing and inspector/executor preprocessing. CHAOS also supplies special purpose routines to support speci c types of irregular re...
متن کاملImpact of JIT/JVM Optimizations on Java Application Performance
With the promise of machine independence and efficient portability, JAVA has gained widespread popularity in the industry. Along with this promise comes the need for designing an efficient runtime environment that can provide high-end performance for Java-based applications. In other words, the performance of Java applications depends heavily on the design and optimization of the Java Virtual M...
متن کامل